Methods

Data

  • Baseline Epistress Score: is calculated using 23 CpG from EPIC DNAm data (beta-values) which were obtained at baseline
  • GR-induced (dex) Epistress Score: is calculated using 23 CpG from EPIC DNAm data (beta-values) which were obtained 3 hr after stimulation with dexamethasone
  • Delta Epistress Score: is calculated using 23 CpG from EPIC DNAm data (beta-values) which were obtained using residuals from linear regression models for baseline DNAm and GR-induced DNAm (delta DNAm)

\[\Delta CpG = res_{dex} − res_{base}\]

\[res_{base} \sim CpG_{base} − (\beta_0 + \beta_{1−9} \times Cov)\]

\[res_{dex} \sim CpG_{dex} − (\beta_0 + \beta_{1−9} \times Cov)\]

  Cov = {Sex, Age, BMI, MDD Status, SmokingScore, SV, PC}
  
  where

    Smoking Score: smoking score estimated from DNAm data using Elliot's CpGs
    SV: first three significant Surrogate Variables calculated based on DNAm 
    PC: first two significant PCs computed using genotype data and PLINK MDS method 
  • Baseline BCCs: cellular proportion estimates using EPIC DNAm data which were obtained at baseline, EpiDISH R-package with RPC as a reference-based method and the reference dataset of 12 cell types (neutrophils, eosinophils, basophils, monocytes, naïve and memory B cells, naïve and memory CD4T and CD8T cells, natural killer, and T regulatory cells) from Salas et. al 2022 publication
  • GR-induced (dex) BCCs: cellular proportion estimates using EPIC DNAm data which were obtained 3 hr after stimulation with dexamethasone
  • absolute delta BBCs: the absolute difference between baseline BCCs and GR-induced BBCs
  • relative delta BBCs: the relative difference between baseline BCCs and GR-induced BBCs calculated as \[\frac{dex BBCs - baseline BCCs}{baseline BCCs}\]

Blood cell estimates

ggplot(bcc.melt.df, aes(x = variable, y = value, fill = Treatment)) + geom_boxplot(alpha = 0.2, aes(color = Treatment)) +
    theme(legend.position = "bottom", legend.title = element_blank(), panel.grid.major = element_blank(),
        panel.background = element_blank(), plot.title = element_text(size = 10), axis.title = element_text(size = 10),
        axis.text.x = element_text(angle = 45, hjust = 1)) + labs(x = " ", y = "Cellular proportion estimates") +
    scale_fill_manual(values = cbPalette) + scale_color_manual(values = cbPalette)

ggplot(bcc.abs.delta.melt.df, aes(x = variable, y = value)) + geom_boxplot(alpha = 0.2) + geom_hline(yintercept = 0,
    color = "red", size = 0.2) + theme(legend.position = "bottom", legend.title = element_blank(), panel.grid.major = element_blank(),
    panel.background = element_blank(), plot.title = element_text(size = 10), axis.title = element_text(size = 10),
    axis.text.x = element_text(angle = 45, hjust = 1)) + labs(x = " ", y = "Absolute change in BBCs after GR-stimulation")

Epistress Score vs BBCs

Basophils

y <- "Bas"
ylab <- "Basophils"

base.plt <- ggscatterstats(data = base.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE, ylab = ylab,
    xlab = xlab, title = base.plt.title)
dex.plt <- ggscatterstats(data = dex.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE, ylab = ylab,
    xlab = xlab, title = dex.plt.title)
delta.plt <- ggscatterstats(data = delta.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE,
    ylab = ylab, xlab = xlab, title = delta.plt.title)
delta.sc.base.bcc.plt <- ggscatterstats(data = delta.score.base.bcc.df, x = EpiStressScore, y = !!ensym(y),
    bf.message = FALSE, ylab = ylab, xlab = xlab, title = delta.sc.base.bcc.plt.title)

grid.arrange(arrangeGrob(base.plt, delta.sc.base.bcc.plt, ncol = 2))

grid.arrange(arrangeGrob(dex.plt, delta.plt, ncol = 2))

Neutrophils

y <- "Neu"
ylab <- "Neutrophils"

base.plt <- ggscatterstats(data = base.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE, ylab = ylab,
    xlab = xlab, title = base.plt.title)
dex.plt <- ggscatterstats(data = dex.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE, ylab = ylab,
    xlab = xlab, title = dex.plt.title)
delta.plt <- ggscatterstats(data = delta.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE,
    ylab = ylab, xlab = xlab, title = delta.plt.title)
delta.sc.base.bcc.plt <- ggscatterstats(data = delta.score.base.bcc.df, x = EpiStressScore, y = !!ensym(y),
    bf.message = FALSE, ylab = ylab, xlab = xlab, title = delta.sc.base.bcc.plt.title)

grid.arrange(arrangeGrob(base.plt, delta.sc.base.bcc.plt, ncol = 2))

grid.arrange(arrangeGrob(dex.plt, delta.plt, ncol = 2))

Eosonphils

y <- "Eos"
ylab <- "Eosonphils"

base.plt <- ggscatterstats(data = base.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE, ylab = ylab,
    xlab = xlab, title = base.plt.title)
dex.plt <- ggscatterstats(data = dex.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE, ylab = ylab,
    xlab = xlab, title = dex.plt.title)
delta.plt <- ggscatterstats(data = delta.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE,
    ylab = ylab, xlab = xlab, title = delta.plt.title)
delta.sc.base.bcc.plt <- ggscatterstats(data = delta.score.base.bcc.df, x = EpiStressScore, y = !!ensym(y),
    bf.message = FALSE, ylab = ylab, xlab = xlab, title = delta.sc.base.bcc.plt.title)

grid.arrange(arrangeGrob(base.plt, delta.sc.base.bcc.plt, ncol = 2))

grid.arrange(arrangeGrob(dex.plt, delta.plt, ncol = 2))

Monocytes

y <- "Mono"
ylab <- "Monocytes"

base.plt <- ggscatterstats(data = base.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE, ylab = ylab,
    xlab = xlab, title = base.plt.title)
dex.plt <- ggscatterstats(data = dex.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE, ylab = ylab,
    xlab = xlab, title = dex.plt.title)
delta.plt <- ggscatterstats(data = delta.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE,
    ylab = ylab, xlab = xlab, title = delta.plt.title)
delta.sc.base.bcc.plt <- ggscatterstats(data = delta.score.base.bcc.df, x = EpiStressScore, y = !!ensym(y),
    bf.message = FALSE, ylab = ylab, xlab = xlab, title = delta.sc.base.bcc.plt.title)

grid.arrange(arrangeGrob(base.plt, delta.sc.base.bcc.plt, ncol = 2))

grid.arrange(arrangeGrob(dex.plt, delta.plt, ncol = 2))

Natural Killer

y <- "NK"
ylab <- "Natural Killer"

base.plt <- ggscatterstats(data = base.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE, ylab = ylab,
    xlab = xlab, title = base.plt.title)
dex.plt <- ggscatterstats(data = dex.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE, ylab = ylab,
    xlab = xlab, title = dex.plt.title)
delta.plt <- ggscatterstats(data = delta.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE,
    ylab = ylab, xlab = xlab, title = delta.plt.title)
delta.sc.base.bcc.plt <- ggscatterstats(data = delta.score.base.bcc.df, x = EpiStressScore, y = !!ensym(y),
    bf.message = FALSE, ylab = ylab, xlab = xlab, title = delta.sc.base.bcc.plt.title)

grid.arrange(arrangeGrob(base.plt, delta.sc.base.bcc.plt, ncol = 2))

grid.arrange(arrangeGrob(dex.plt, delta.plt, ncol = 2))

T Regulatory

y <- "Treg"
ylab <- "T Regulatory"

base.plt <- ggscatterstats(data = base.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE, ylab = ylab,
    xlab = xlab, title = base.plt.title)
dex.plt <- ggscatterstats(data = dex.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE, ylab = ylab,
    xlab = xlab, title = dex.plt.title)
delta.plt <- ggscatterstats(data = delta.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE,
    ylab = ylab, xlab = xlab, title = delta.plt.title)
delta.sc.base.bcc.plt <- ggscatterstats(data = delta.score.base.bcc.df, x = EpiStressScore, y = !!ensym(y),
    bf.message = FALSE, ylab = ylab, xlab = xlab, title = delta.sc.base.bcc.plt.title)

grid.arrange(arrangeGrob(base.plt, delta.sc.base.bcc.plt, ncol = 2))

grid.arrange(arrangeGrob(dex.plt, delta.plt, ncol = 2))

Memory CD4T

y <- "CD4mem"
ylab <- "Memory CD4T Cells"

base.plt <- ggscatterstats(data = base.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE, ylab = ylab,
    xlab = xlab, title = base.plt.title)
dex.plt <- ggscatterstats(data = dex.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE, ylab = ylab,
    xlab = xlab, title = dex.plt.title)
delta.plt <- ggscatterstats(data = delta.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE,
    ylab = ylab, xlab = xlab, title = delta.plt.title)
delta.sc.base.bcc.plt <- ggscatterstats(data = delta.score.base.bcc.df, x = EpiStressScore, y = !!ensym(y),
    bf.message = FALSE, ylab = ylab, xlab = xlab, title = delta.sc.base.bcc.plt.title)

grid.arrange(arrangeGrob(base.plt, delta.sc.base.bcc.plt, ncol = 2))

grid.arrange(arrangeGrob(dex.plt, delta.plt, ncol = 2))

Naive CD4T

y <- "CD4nv"
ylab <- "Naive CD4T Cells"

base.plt <- ggscatterstats(data = base.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE, ylab = ylab,
    xlab = xlab, title = base.plt.title)
dex.plt <- ggscatterstats(data = dex.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE, ylab = ylab,
    xlab = xlab, title = dex.plt.title)
delta.plt <- ggscatterstats(data = delta.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE,
    ylab = ylab, xlab = xlab, title = delta.plt.title)
delta.sc.base.bcc.plt <- ggscatterstats(data = delta.score.base.bcc.df, x = EpiStressScore, y = !!ensym(y),
    bf.message = FALSE, ylab = ylab, xlab = xlab, title = delta.sc.base.bcc.plt.title)

grid.arrange(arrangeGrob(base.plt, delta.sc.base.bcc.plt, ncol = 2))

grid.arrange(arrangeGrob(dex.plt, delta.plt, ncol = 2))

Memory CD8T

y <- "CD8mem"
ylab <- "Memory CD8T Cells"

base.plt <- ggscatterstats(data = base.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE, ylab = ylab,
    xlab = xlab, title = base.plt.title)
dex.plt <- ggscatterstats(data = dex.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE, ylab = ylab,
    xlab = xlab, title = dex.plt.title)
delta.plt <- ggscatterstats(data = delta.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE,
    ylab = ylab, xlab = xlab, title = delta.plt.title)
delta.sc.base.bcc.plt <- ggscatterstats(data = delta.score.base.bcc.df, x = EpiStressScore, y = !!ensym(y),
    bf.message = FALSE, ylab = ylab, xlab = xlab, title = delta.sc.base.bcc.plt.title)

grid.arrange(arrangeGrob(base.plt, delta.sc.base.bcc.plt, ncol = 2))

grid.arrange(arrangeGrob(dex.plt, delta.plt, ncol = 2))

Naive CD8T

y <- "CD8nv"
ylab <- "Naive CD8T Cells"

base.plt <- ggscatterstats(data = base.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE, ylab = ylab,
    xlab = xlab, title = base.plt.title)
dex.plt <- ggscatterstats(data = dex.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE, ylab = ylab,
    xlab = xlab, title = dex.plt.title)
delta.plt <- ggscatterstats(data = delta.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE,
    ylab = ylab, xlab = xlab, title = delta.plt.title)
delta.sc.base.bcc.plt <- ggscatterstats(data = delta.score.base.bcc.df, x = EpiStressScore, y = !!ensym(y),
    bf.message = FALSE, ylab = ylab, xlab = xlab, title = delta.sc.base.bcc.plt.title)

grid.arrange(arrangeGrob(base.plt, delta.sc.base.bcc.plt, ncol = 2))

grid.arrange(arrangeGrob(dex.plt, delta.plt, ncol = 2))

Memory B Cells

y <- "Bmem"
ylab <- "Memory B Cells"

base.plt <- ggscatterstats(data = base.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE, ylab = ylab,
    xlab = xlab, title = base.plt.title)
dex.plt <- ggscatterstats(data = dex.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE, ylab = ylab,
    xlab = xlab, title = dex.plt.title)
delta.plt <- ggscatterstats(data = delta.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE,
    ylab = ylab, xlab = xlab, title = delta.plt.title)
delta.sc.base.bcc.plt <- ggscatterstats(data = delta.score.base.bcc.df, x = EpiStressScore, y = !!ensym(y),
    bf.message = FALSE, ylab = ylab, xlab = xlab, title = delta.sc.base.bcc.plt.title)

grid.arrange(arrangeGrob(base.plt, delta.sc.base.bcc.plt, ncol = 2))

grid.arrange(arrangeGrob(dex.plt, delta.plt, ncol = 2))

Naive B Cells

y <- "Bnv"
ylab <- "Naive B Cells"

base.plt <- ggscatterstats(data = base.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE, ylab = ylab,
    xlab = xlab, title = base.plt.title)
dex.plt <- ggscatterstats(data = dex.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE, ylab = ylab,
    xlab = xlab, title = dex.plt.title)
delta.plt <- ggscatterstats(data = delta.df, x = EpiStressScore, y = !!ensym(y), bf.message = FALSE,
    ylab = ylab, xlab = xlab, title = delta.plt.title)
delta.sc.base.bcc.plt <- ggscatterstats(data = delta.score.base.bcc.df, x = EpiStressScore, y = !!ensym(y),
    bf.message = FALSE, ylab = ylab, xlab = xlab, title = delta.sc.base.bcc.plt.title)

grid.arrange(arrangeGrob(base.plt, delta.sc.base.bcc.plt, ncol = 2))

grid.arrange(arrangeGrob(dex.plt, delta.plt, ncol = 2))